Typically, images may be saved on a computer as raster-based representations or vector-based representations. Raster-based images, or bitmaps, may be defined as a data file or structure representing a generally rectangular grid of pixels, or points of color. Vector-based images may represent an image through the use of geometric objects such as points, lines, curves and polygons, which may be based upon mathematical equations. In some applications, a vector-based image may be advantageous. For example, vector-based images may be scaled indefinitely without degradation; but raster images lose clarity when scaled because they are based on pixels. Depending upon how they are created, vector-based images may be scalable, editable, easily stylized and easily animated. However, vector-based images may be very time consuming for an artist to create. Also, it may be difficult to create photo realistic vector-based images.
Currently vector-based images are typically drawn manually on the computer. Most computer vector-based drawing systems may provide various methods to draw geometric objects such as points, lines, curves and polygons. Color changes may be applied linearly or along the paths of the curves or within the fill regions of polygons. However, drawing complex, multi-colored images may be extremely difficult. The more complex the vector-based images are, the more difficult they would be to edit.
A gradient mesh, which is a drawing tool, may be used to create a multi-colored mesh on which colors may flow in different directions and transition smoothly. In general, gradient mesh images may have a simpler structure and, therefore, may be easier to edit than other vector-based images. However, as with other forms of vector-based images, gradient mesh images may be difficult and time consuming to create. A few techniques exist to semi-automatically convert a raster-based image to a vector-based image. However, each of these techniques results in a vector-based image that is difficult to edit.